package com.yuxinmuyu.sports_management.utils;

import com.yuxinmuyu.sports_management.bean.LoginUser;
public class UserUtil {

    private static final ThreadLocal<LoginUser> USER_INFO = new ThreadLocal<>();

    public static void set(LoginUser userInfo) {
        USER_INFO.set(userInfo);
    }

    private static LoginUser get() {
        return USER_INFO.get();
    }

    public static void remove() {
        USER_INFO.remove();
    }


    /**
     * 获取当前登录人的用户信息
     * @return 当前登录人的用户信息
     */
    public static LoginUser getCurrentUser() {
        LoginUser loginUser = get();
        if (loginUser == null) {
            throw new RuntimeException("用户信息不存在");
        }
        return loginUser;
    }



    /**
     * 获取当前登录人的用户id
     * @return 当前登录人的用户id
     */
    public static String getUserId() {
        LoginUser loginUser = get();
        if (loginUser == null) {
            return null;
        }
        return loginUser.getUserID();
    }

    /**
     * 获取当前登录人的用户姓名
     * @return 当前登录人的用户姓名
     */
    public static String getUserName() {
        LoginUser loginUser = get();
        if (loginUser == null) {
            return null;
        }
        return loginUser.getUserName();
    }



    /**
     * 获取当前登录人的用户类型
     * @return 当前登录人的用户类型(1学生,2老师,3管理员)
     */
    public static Integer getType() {
        LoginUser loginUser = get();
        if (loginUser == null) {
            return null;
        }
        return loginUser.getType();
    }

    /**
     * 获取当前登录人头像
     */
    public static String getAvater(){
        LoginUser loginUser = get();
        if (loginUser == null) {
            return null;
        }
        return loginUser.getAvater();
    }
}
